--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / network-visualiser / internal / hopMaxFilterSliderMap.js
Displaying Raw • Download
meshchatx/src/frontend/components/network-visualiser/internal/hopMaxFilterSliderMap.js 06710bcd69cd22e9660aa555b44e7d1ca87d2d60 (06710bcd) Text, 1.33 KB
T8b949e// SPDX-License-Identifier: 0BSD AND MIT
T8b949e/** Rightmost slider index: no hop limit (show all paths). */
Tff7b72export Tff7b72const Te6edf3HOP_SLIDER_POS_ALL Tff7b72= T79c0ff2047Tb4b4b4;
Tff7b72const Te6edf3LOW_MAX_POS Tff7b72= T79c0ff1599Tb4b4b4;
Tff7b72const Te6edf3TRAN_POS Tff7b72= T79c0ff1600Tb4b4b4;
Tff7b72const Te6edf3HIGH_END_POS Tff7b72= T79c0ff2046Tb4b4b4;
T8b949e/**
* @param {number} pos
* @returns {number|null} Inclusive max hops, or null when unlimited.
*/
Tff7b72export Tff7b72function Te6edf3hopSliderPosToMaxHopsTb4b4b4(Te6edf3posTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3p Tff7b72= Tffa657MathTb4b4b4.Te6edf3roundTb4b4b4(Tffa657NumberTb4b4b4(Te6edf3posTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tffa657NumberTb4b4b4.Tffa657isFiniteTb4b4b4(Te6edf3pTb4b4b4) Tff7b72|| Te6edf3p Tff7b72>= Te6edf3HOP_SLIDER_POS_ALLTb4b4b4) Tff7b72return Tff7b72nullTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3p Tff7b72<= Te6edf3LOW_MAX_POSTb4b4b4) Tb4b4b4{
Tff7b72return Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(T79c0ff32Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3roundTb4b4b4(Tb4b4b4(Te6edf3p Tff7b72/ Te6edf3LOW_MAX_POSTb4b4b4) Tff7b72* T79c0ff32Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3p Tff7b72>= Te6edf3HIGH_END_POSTb4b4b4) Tff7b72return T79c0ff128Tb4b4b4;
Tff7b72const Te6edf3span Tff7b72= Te6edf3HIGH_END_POS Tff7b72- Te6edf3TRAN_POSTb4b4b4;
Tff7b72const Te6edf3frac Tff7b72= Te6edf3span Tff7b72> T79c0ff0 Tff7b72? Tb4b4b4(Te6edf3p Tff7b72- Te6edf3TRAN_POSTb4b4b4) Tff7b72/ Te6edf3span Tff7b72: T79c0ff1Tb4b4b4;
Tff7b72return Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(T79c0ff128Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff33Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3roundTb4b4b4(T79c0ff33 Tff7b72+ Te6edf3frac Tff7b72* Tb4b4b4(T79c0ff128 Tff7b72- T79c0ff33Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e/**
* @param {number|null|undefined} maxHops null = unlimited
* @returns {number} Slider position 0 .. HOP_SLIDER_POS_ALL
*/
Tff7b72export Tff7b72function Te6edf3hopMaxHopsToSliderPosTb4b4b4(Te6edf3maxHopsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3maxHops Tff7b72=== Tff7b72null Tff7b72|| Te6edf3maxHops Tff7b72=== Tff7b72undefinedTb4b4b4) Tff7b72return Te6edf3HOP_SLIDER_POS_ALLTb4b4b4;
Tff7b72const Te6edf3h Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff0Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(T79c0ff128Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3roundTb4b4b4(Tffa657NumberTb4b4b4(Te6edf3maxHopsTb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3h Tff7b72<= T79c0ff32Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657MathTb4b4b4.Te6edf3roundTb4b4b4(Tb4b4b4(Te6edf3h Tff7b72/ T79c0ff32Tb4b4b4) Tff7b72* Te6edf3LOW_MAX_POSTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3span Tff7b72= Te6edf3HIGH_END_POS Tff7b72- Te6edf3TRAN_POSTb4b4b4;
Tff7b72return Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3HIGH_END_POSTb4b4b4, Te6edf3TRAN_POS Tff7b72+ Tffa657MathTb4b4b4.Te6edf3roundTb4b4b4(Tb4b4b4(Tb4b4b4(Te6edf3h Tff7b72- T79c0ff33Tb4b4b4) Tff7b72/ Tb4b4b4(T79c0ff128 Tff7b72- T79c0ff33Tb4b4b4)Tb4b4b4) Tff7b72* Te6edf3spanTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────